package itsm.isperp.framework.domain;

import org.activiti.engine.identity.User;
import org.springframework.security.core.userdetails.UserDetails;

/**
 * 基础用户信息；继承activiti的{@link User}接口实现人员的控制，继承{@link UserDetails}接口用户获取用户权限信息
 * 
 * 
 * @author lizx
 * @date 2012-6-30
 * @version V1.0
 */
public interface IUser extends User, UserDetails, IBean {

	/**
	 * 系统用户ID，由初始化数据加入
	 */
	public static final Long SYSTEM_USER = new Long(-1);
	/**
	 * 超级管理员ID,由初始化数据加入
	 */
	public static final Long SUPER_USER = new Long(1);

	/**
	 * 获取用户全名
	 * 
	 * @return 用户全名
	 */
	String getFullname();

	/**
	 * 返回当前用户的岗位ID,如果一个用户隶属多个岗位，岗位ID间用逗号分隔
	 * 
	 * @return 用户的岗位的ID
	 */
	String getPosition();

	/**
	 * 得到手机号
	 * 
	 * @return 手机号码
	 */
	String getMobile();

	/**
	 * 获取用户状态
	 * 
	 * @return
	 */
	UserStatus getUserStatus();

}
